<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="playintegrity_v1.html">Google Play Integrity API</a> . <a href="playintegrity_v1.v1.html">v1</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#decodeIntegrityToken">decodeIntegrityToken(packageName, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Decodes the integrity token and returns the token payload.</p>
<p class="toc_element">
  <code><a href="#decodePcIntegrityToken">decodePcIntegrityToken(packageName, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Decodes the PC integrity token and returns the PC token payload.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="decodeIntegrityToken">decodeIntegrityToken(packageName, body=None, x__xgafv=None)</code>
  <pre>Decodes the integrity token and returns the token payload.

Args:
  packageName: string,  Package name of the app the attached integrity token belongs to. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to decode the integrity token.
  &quot;integrityToken&quot;: &quot;A String&quot;, # Encoded integrity token.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response containing the decoded integrity payload.
  &quot;tokenPayloadExternal&quot;: { # Contains basic app information and integrity signals like device attestation and licensing details. # Plain token payload generated from the decoded integrity token.
    &quot;accountDetails&quot;: { # Contains the account information such as the licensing status for the user in the scope. # Required. Details about the Play Store account.
      &quot;accountActivity&quot;: { # (Restricted Access) Contains a signal helping apps differentiating between likely genuine and likely non-genuine user traffic. # (Restricted Access) Details about the account activity for the user in the scope.
        &quot;activityLevel&quot;: &quot;A String&quot;, # Required. Indicates the activity level of the account.
      },
      &quot;appLicensingVerdict&quot;: &quot;A String&quot;, # Required. Details about the licensing status of the user for the app in the scope.
    },
    &quot;appIntegrity&quot;: { # Contains the application integrity information. # Required. Details about the application integrity.
      &quot;appRecognitionVerdict&quot;: &quot;A String&quot;, # Required. Details about the app recognition verdict
      &quot;certificateSha256Digest&quot;: [ # The SHA256 hash of the requesting app&#x27;s signing certificates (base64 web-safe encoded). Set iff app_recognition_verdict != UNEVALUATED.
        &quot;A String&quot;,
      ],
      &quot;packageName&quot;: &quot;A String&quot;, # Package name of the application under attestation. Set iff app_recognition_verdict != UNEVALUATED.
      &quot;versionCode&quot;: &quot;A String&quot;, # Version code of the application. Set iff app_recognition_verdict != UNEVALUATED.
    },
    &quot;deviceIntegrity&quot;: { # Contains the device attestation information. # Required. Details about the device integrity.
      &quot;deviceAttributes&quot;: { # Contains information about the device for which the integrity token was generated, e.g. Android SDK version. # Attributes of the device where the integrity token was generated.
        &quot;sdkVersion&quot;: 42, # Android SDK version of the device, as defined in the public Android documentation: https://developer.android.com/reference/android/os/Build.VERSION_CODES. It won&#x27;t be set if a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar.
      },
      &quot;deviceRecall&quot;: { # Contains the recall bits per device set by the developer. # Details about the device recall bits set by the developer.
        &quot;values&quot;: { # Contains the recall bits values. # Required. Contains the recall bits values.
          &quot;bitFirst&quot;: True or False, # Required. First recall bit value.
          &quot;bitSecond&quot;: True or False, # Required. Second recall bit value.
          &quot;bitThird&quot;: True or False, # Required. Third recall bit value.
        },
        &quot;writeDates&quot;: { # Contains the recall bits write dates. # Required. Contains the recall bits write dates.
          &quot;yyyymmFirst&quot;: 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the first bit. Note that this value won&#x27;t be set if the first bit is false.
          &quot;yyyymmSecond&quot;: 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the second bit. Note that this value won&#x27;t be set if the second bit is false.
          &quot;yyyymmThird&quot;: 42, # Optional. Write time in YYYYMM format (in UTC, e.g. 202402) for the third bit. Note that this value won&#x27;t be set if the third bit is false.
        },
      },
      &quot;deviceRecognitionVerdict&quot;: [ # Details about the integrity of the device the app is running on.
        &quot;A String&quot;,
      ],
      &quot;legacyDeviceRecognitionVerdict&quot;: [ # Contains legacy details about the integrity of the device the app is running on. Only for devices with Android version T or higher and only for apps opted in to the new verdicts. Only available during the transition period to the new verdicts system and will be removed afterwards.
        &quot;A String&quot;,
      ],
      &quot;recentDeviceActivity&quot;: { # Recent device activity can help developers identify devices that have exhibited hyperactive attestation activity, which could be a sign of an attack or token farming. # Details about the device activity of the device the app is running on.
        &quot;deviceActivityLevel&quot;: &quot;A String&quot;, # Required. Indicates the activity level of the device.
      },
    },
    &quot;environmentDetails&quot;: { # Contains information about the environment Play Integrity API runs in, e.g. Play Protect verdict. # Details of the environment Play Integrity API runs in.
      &quot;appAccessRiskVerdict&quot;: { # Contains signals about others apps on the device which could be used to access or control the requesting app. # The evaluation of the App Access Risk verdicts.
        &quot;appsDetected&quot;: [ # List of detected app types signalled for App Access Risk.
          &quot;A String&quot;,
        ],
      },
      &quot;playProtectVerdict&quot;: &quot;A String&quot;, # The evaluation of Play Protect verdict.
    },
    &quot;requestDetails&quot;: { # Contains the integrity request information. # Required. Details about the integrity request.
      &quot;nonce&quot;: &quot;A String&quot;, # Nonce that was provided in the request (which is base64 web-safe no-wrap).
      &quot;requestHash&quot;: &quot;A String&quot;, # Request hash that was provided in the request.
      &quot;requestPackageName&quot;: &quot;A String&quot;, # Required. Application package name this attestation was requested for. Note: This field makes no guarantees or promises on the caller integrity. For details on application integrity, check application_integrity.
      &quot;timestampMillis&quot;: &quot;A String&quot;, # Required. Timestamp, in milliseconds, of the integrity application request.
    },
    &quot;testingDetails&quot;: { # Contains additional information generated for testing responses. # Indicates that this payload is generated for testing purposes and contains any additional data that is linked with testing status.
      &quot;isTestingResponse&quot;: True or False, # Required. Indicates that the information contained in this payload is a testing response that is statically overridden for a tester.
    },
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="decodePcIntegrityToken">decodePcIntegrityToken(packageName, body=None, x__xgafv=None)</code>
  <pre>Decodes the PC integrity token and returns the PC token payload.

Args:
  packageName: string, Package name of the app the attached integrity token belongs to. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request to decode the PC integrity token.
  &quot;integrityToken&quot;: &quot;A String&quot;, # Encoded integrity token.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response containing the decoded PC integrity payload.
  &quot;tokenPayloadExternal&quot;: { # Contains PC device attestation details. # Plain token payload generated from the decoded integrity token.
    &quot;accountDetails&quot;: { # Contains the account information such as the licensing status for the user in the scope. # Details about the account information such as the licensing status.
      &quot;appLicensingVerdict&quot;: &quot;A String&quot;, # Required. Details about the licensing status of the user for the app in the scope.
    },
    &quot;deviceIntegrity&quot;: { # Contains the device attestation information. # Required. Details about the device integrity.
      &quot;deviceRecognitionVerdict&quot;: [ # Details about the integrity of the device the app is running on.
        &quot;A String&quot;,
      ],
    },
    &quot;requestDetails&quot;: { # Contains the integrity request information. # Required. Details about the integrity request.
      &quot;requestHash&quot;: &quot;A String&quot;, # Request hash that was provided in the request.
      &quot;requestPackageName&quot;: &quot;A String&quot;, # Required. Application package name this attestation was requested for. Note: This field makes no guarantees or promises on the caller integrity.
      &quot;requestTime&quot;: &quot;A String&quot;, # Required. Timestamp, of the integrity application request.
    },
    &quot;testingDetails&quot;: { # Contains additional information generated for testing responses. # Indicates that this payload is generated for testing purposes and contains any additional data that is linked with testing status.
      &quot;isTestingResponse&quot;: True or False, # Indicates that the information contained in this payload is a testing response that is statically overridden for a tester.
    },
  },
}</pre>
</div>

</body></html>